import Mock from 'mockjs'

const data = Mock.mock({
  'items|100': [{
    'deviceId|4': /\w{4}-/,
    'name': '@string(6,10)',
    'state|1': [
      'running',
      'stopped'
    ],
    'regTime': '@datetime()',
    'upTime': '@datetime()'
  }]
})

const groupLocation = Mock.mock({
  'id': '1',
  'name': '江北-testA',
  'devices': [
    {
      'id|4': /\w{4}-/,
      'name': '江北-1',
      'regTime': '@datetime()',
      'location': {
        'lat': 32.1584585400,
        'lng': 118.7371528800
      },
      'type': '水质监测设备-A',
      'sensors': [
        {
          'id': '5000',
          'name': '酸碱度传感器',
          'value|7.2': 1,
          'time': '@now'
        },
        {
          'id': '3300',
          'name': '温度传感器',
          'value|10-20.2': 1,
          'time': '@now'
        },
        {
          'id': '3303',
          'name': '流量计',
          'value|100-200.3': 1,
          'time': '@now'
        }
      ]
    },
    {
      'id|4': /\w{4}-/,
      'name': '江北-2',
      'regTime': '@datetime()',
      'location': {
        'lat': 32.1609626400,
        'lng': 118.7381063400
      },
      'type': '水质监测设备-A',
      'sensors': [
        {
          'id': '5000',
          'name': '酸碱度传感器',
          'value|7.2': 1,
          'time': '@now'
        },
        {
          'id': '3300',
          'name': '温度传感器',
          'value|10-20.2': 1,
          'time': '@now'
        },
        {
          'id': '3303',
          'name': '流量计',
          'value|100-200.3': 1,
          'time': '@now'
        }
      ]
    },
    {
      'id|4': /\w{4}-/,
      'name': '江北-3',
      'regTime': '@datetime()',
      'location': {
        'lat': 32.1625567200,
        'lng': 118.7392221400
      },
      'type': '水质监测设备-A',
      'sensors': [
        {
          'id': '5000',
          'name': '酸碱度传感器',
          'value|7.2': 1,
          'time': '@now'
        },
        {
          'id': '3300',
          'name': '温度传感器',
          'value|10-20.2': 1,
          'time': '@now'
        },
        {
          'id': '3303',
          'name': '流量计',
          'value|100-200.3': 1,
          'time': '@now'
        }
      ]
    },
    {
      'id|4': /\w{4}-/,
      'name': '江北-4',
      'regTime': '@datetime()',
      'location': {
        'lat': 32.1626203000,
        'lng': 118.7411104100
      },
      'type': '水质监测设备-A',
      'sensors': [
        {
          'id': '5000',
          'name': '酸碱度传感器',
          'value|7.2': 1,
          'time': '@now'
        },
        {
          'id': '3300',
          'name': '温度传感器',
          'value|10-20.2': 1,
          'time': '@now'
        },
        {
          'id': '3303',
          'name': '流量计',
          'value|100-200.3': 1,
          'time': '@now'
        }
      ]
    },
    {
      'id|4': /\w{4}-/,
      'name': '江北-5',
      'regTime': '@datetime()',
      'location': {
        'lat': 32.1637516400,
        'lng': 118.7423524400
      },
      'type': '水质监测设备-A',
      'sensors': [
        {
          'id': '5000',
          'name': '酸碱度传感器',
          'value|7.2': 1,
          'time': '@now'
        },
        {
          'id': '3300',
          'name': '温度传感器',
          'value|10-20.2': 1,
          'time': '@now'
        },
        {
          'id': '3303',
          'name': '流量计',
          'value|100-200.3': 1,
          'time': '@now'
        }
      ]
    }
  ]
})

const phHistory = Mock.mock([
  {
    'date': '2020-04-20',
    'value|7.2': 1
  },
  {
    'date': '2020-04-21',
    'value|7.2': 1
  },
  {
    'date': '2020-04-22',
    'value|7.2': 1
  },
  {
    'date': '2020-04-23',
    'value|7.2': 1
  },
  {
    'date': '2020-04-24',
    'value|7.2': 1
  },
  {
    'date': '2020-04-25',
    'value|7.2': 1
  },
  {
    'date': '2020-04-26',
    'value|7.2': 1
  }
])

const temperatureHistory = Mock.mock([
  {
    'date': '2020-04-20',
    'value|10-20.2': 1
  },
  {
    'date': '2020-04-21',
    'value|10-20.2': 1
  },
  {
    'date': '2020-04-22',
    'value|10-20.2': 1
  },
  {
    'date': '2020-04-23',
    'value|10-20.2': 1
  },
  {
    'date': '2020-04-24',
    'value|10-20.2': 1
  },
  {
    'date': '2020-04-25',
    'value|10-20.2': 1
  },
  {
    'date': '2020-04-26',
    'value|10-20.2': 1
  }
])

export default [
  {
    url: '/api/devices',
    type: 'get',
    response: config => {
      const items = data.items
      return {
        code: 20000,
        data: {
          total: items.length,
          items: items
        }
      }
    }
  },

  {
    url: '/api/location/group/1',
    type: 'get',
    response: config => {
      return {
        code: 20000,
        data: {
          items: groupLocation
        }
      }
    }
  },

  {
    url: '/api/device/history/temperature',
    type: 'get',
    response: config => {
      return {
        code: 20000,
        data: {
          items: temperatureHistory
        }
      }
    }
  },

  {
    url: '/api/device/history/ph',
    type: 'get',
    response: config => {
      return {
        code: 20000,
        data: {
          items: phHistory
        }
      }
    }
  }
]
